package controlador;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;






import entidades.Cajas;
import entidades.Usuarios;
import entidades.iOperaciones;



public class CdUsuarios implements iOperaciones{

	Usuarios EUsuario = new Usuarios();
	CsConexion con = CsConexion.getConnection();

	@Override
	public boolean agregar(Object nuevo) throws ClassNotFoundException,
			InstantiationException, IllegalAccessException, SQLException {
		// TODO Auto-generated method stub
		EUsuario=(Usuarios) nuevo;
		try
		{  
			con.consultasql="insert into Usuario(nombre,apellidos,direccion,nip,telefono,contrasenia) values ('"+EUsuario.getNombre()+"','"+EUsuario.getApellidos()+"','"+EUsuario.getDireccion()+"','"+EUsuario.getNip()+"','"+EUsuario.getTelefono()+"','"+EUsuario.getContrasenia()+"')";
			con.instruccion.executeUpdate(con.consultasql);
			return true;
		}
		catch(Exception e)
		{
			System.out.println("error: " + e);
			return false;
		}

	}

	@Override
	public boolean actualizar(Object modificado) throws ClassNotFoundException,
			InstantiationException, IllegalAccessException, SQLException {
		// TODO Auto-generated method stub
		EUsuario=(Usuarios) modificado;
		try
		{  
			con.consultasql=("update Usuario set nombre='"+EUsuario.getNombre()+"',apellidos='"+EUsuario.getApellidos()+"',direccion='"+EUsuario.getDireccion()+"',nip='"+EUsuario.getNip()+"',telefono='"+EUsuario.getTelefono()+"',contrasenia='"+EUsuario.getContrasenia()+"'where idUsuario='"+EUsuario.getIdUsuario()+"'");
		
			con.instruccion.executeUpdate(con.consultasql);
			return true;
		}
		catch(Exception e)
		{
			System.out.println("error: " + e);
			return false;
		}
	}

	@Override
	public boolean eliminar(Object eliminado) throws ClassNotFoundException,
			InstantiationException, IllegalAccessException, SQLException {
		// TODO Auto-generated method stub
		EUsuario=(Usuarios) eliminado;
		try
		{  
			con.consultasql="delete from   usuario where   usuario. idUsuario='"+EUsuario.getIdUsuario()+"'LIMIT 1";
			con.instruccion.executeUpdate(con.consultasql);//ejecutar la consulta
			
			return true;
			
		}
		catch(Exception e)
		{
			System.out.println("error: " + e);
			return false;
		}
	}

	@Override
	public List<Object> listar() throws ClassNotFoundException,
			InstantiationException, IllegalAccessException, SQLException {
		// TODO Auto-generated method stub
		
		List<Object> lista= new ArrayList<Object>();
		try {
			con.consultasql="select idUsuario,nombre,apellidos,direccion,nip,telefono,contrasenia from usuario";
			con.resultado= con.instruccion.executeQuery(con.consultasql);
			while(con.resultado.next()){
				Usuarios registro = new Usuarios();
				registro.setIdUsuario(con.resultado.getInt("idUsuario"));
				registro.setNombre(con.resultado.getString("nombre"));
				registro.setApellidos(con.resultado.getString("apellidos"));
				registro.setDireccion(con.resultado.getString("direccion"));
				registro.setNip(con.resultado.getString("nip"));
				registro.setTelefono(con.resultado.getString("telefono"));
				registro.setContrasenia(con.resultado.getString("contrasenia"));
				lista.add(registro);
			 }
			}
				catch(Exception e)
			{
				System.out.println("error: " + e);
				
			}
				return lista;		
		}
	
		}
		
